The present invention relates to a method for executing multiple programs in a distributed processing system having a plurality of processors connected through a network, and more particularly to a multiple-execution method of multiple-version programs and a computer system therefor. Further executed means particularly, the present invention relates to a multiple-execution method of multiple-version programs, and a computer system for implementing the same, which can reduce a burden on a user, maintain the independence between the programs, and effectively utilize an execution result which is not finally selected.
In the present specification, the term of "multiple-version programs" means a plurality of programs for performing the same function but having different program structures. The execution results of the programs may be either the same or not the same. For example, a simulation program for an event having a low calculation precision and a short calculation time and a simulation program for the same event having a high calculation precision and a long calculation time are multiple-version programs.
In a system having a plurality of processors connected through a transmission line, DRB system and N version systems have been known as multiple-execution methods of multiple-version programs.
In the DRB system, as disclosed in IEEE Transactions on Computers, Vol. 38, No. 5, 1989, pp 626-636, the multiple-version programs are prioritized and an execution result of the first priority version program is tested by a predetermined test logic called an acceptance test, and if the test result is correct, it is selected. If the test result is incorrect, an execution result of the second priority version program is selected.
On the other hand, in the N version system, as disclosed in IEEE Computer, Vol. 17, No. 8, 1984, pp 67-80, the multiple-version programs are executed in parallel by a plurality of processors and execution results of the respective programs are compared by a processor for checking an output and one execution result is selected based on a majority logic. In the DRB system, since the user must prepare the acceptance test and the preparation of the acceptance test is not easy, the burden to the user is large. On the other hand, in the N version system, since the output results of the respective programs are simply compared, it is required that the outputs are identical for the multiple-version programs. As a result, the independency among the programs is low and it is difficult to prepare the multiple-version programs. The minority execution result through the majority logic is simply thrown away and it is not effectively utilized.